package com.Util;

import java.util.ArrayList;
import java.util.List;

/**
 * @author :admin
 * @description: TODO edit class Description
 * @create date: 2019/5/2 22:06
 */
public interface ConstantCode {

    String QUALIFIER_PRIVATE="private";
    String[] INT_TYPE_ARR = {"tinyint", "smallint", "mediumint", "integer", "int","int4","int2","smallserial"};
    String INT_TYPE="Integer";
    String INT_TYPE_FULL="java.lang.Integer";
    String INT_TYPE_JDBC_TYPE_MAPPING="INTEGER";

    String[] BIGINT_TYPE_ARR = { "int8","bigint","bigserial"};
    String BIGINT_TYPE="Long";
    String BIGINT_TYPE_FULL="java.lang.Long";
    String BIGINT_TYPE_JDBC_TYPE_MAPPING="BIGINT";

    String[] BOOLEAN_TYPE_ARR = {"bool","boolean"};
    String BOOLEAN_TYPE="Boolean";
    String BOOLEAN_TYPE_FULL="java.lang.Boolean";
    String BOOLEAN_TYPE_JDBC_TYPE_MAPPING="BIT";

    String[] DECIMAL_TYPE_ARR={"decimal"};
    String DECIMAL_TYPE="BigDecimal";
    String DECIMAL_TYPE_FULL="java.util.BigDecimal";
    String DECIMAL_TYPE_JDBC_TYPE_MAPPING="NUMERIC";

    String[] FLOAT_TYPE_ARR={"float","float4"};
    String FLOAT_TYPE="Float";
    String FLOAT_TYPE_JDBC_TYPE_MAPPING="FLOAT";
    String FLOAT_TYPE_FULL="java.lang.Float";

    String[] DOUBLE_TYPE_ARR={"double"};
    String DOUBLE_TYPE="Double";
    String DOUBLE_TYPE_JDBC_TYPE_MAPPING="DOUBLE";
    String DOUBLE_TYPE_FULL="java.lang.Double";

    String[] DATE_TYPE_ARR = {"date"};
    String DATE_TYPE="Date";
    String DATE_TYPE_JDBC_TYPE_MAPPING="DATE";
    String DATE_TYPE_FULL="java.util.Date";

    String[] TIME_TYPE_ARR = { "time"};
    String TIME_TYPE="Date";
    String TIME_TYPE_JDBC_TYPE_MAPPING="TIME";
    String TIME_TYPE_FULL="java.util.Date";

    String[] DATETIME_TYPE_ARR = {"datetime", "timestamp"};
    String DATETIME_TYPE="Date";
    String DATETIME_TYPE_JDBC_TYPE_MAPPING="TIMESTAMP";
    String DATETIME_TYPE_FULL="java.util.Date";

    //    年限使用string映射
    String[] STRING_TYPE_ARR = {"year","char", "varchar", "tinyblob", "tinytext", "blob", "text", "mediumblob", "mediumtext", "longblob", "longtext","bpchar"};
    String STRING_TYPE="String";
    String STRING_TYPE_JDBC_TYPE_MAPPING="VARCHAR";
    String STRING_TYPE_FULL="java.lang.String";

    String[] JSON_TYPE_ARR = {"json"};
    String JSON_TYPE="String";
    String JSON_TYPE_JDBC_TYPE_MAPPING="VARCHAR";
    String JSON_TYPE_FULL="java.lang.String";

    String MYSQL_DRIVER_S1="com.mysql.jdbc.Driver";
    String MYSQL_DRIVER_S2="com.mysql.cj.jdbc.Driver";
    String SQLSERVER_DRIVER_S1="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String POSTGRESQL_DRIVER="org.postgresql.Driver";
    String DB_TYPE_SQLSERVER="sqlserver";
    String DB_TYPE_POSTGRESQL="postgresql";

    String MYBATIS_TEMPLATE_PATH ="/template";
    String MYBATIS_PLUS_TEMPLATE_PATH ="/mybatis-plus-template";
    String OTHER_TEMPLATE_PATH ="/other";

    String NUMBER_ONE="1";
    String NUMBER_TWO="2";
    String NUMBER_THREE="3";
    String NUMBER_FOUR="4";
    String NUMBER_FIVE="5";

    List<ColumnMapping> mappingList= new ArrayList<>();
}
